package com.hmall.common.config;

import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.amqp.support.converter.Jackson2JsonMessageConverter;
import org.springframework.amqp.support.converter.MessageConverter;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
//只有在类路径中存在 RabbitTemplate 类时，才会加载 MqConfig 这个配置类，
// 并创建其中定义的 Bean（如 messageConverter）。
@ConditionalOnClass(RabbitTemplate.class)
//假设你有一个模块没有引入 spring-rabbit 依赖：
//没有 RabbitTemplate 类 ➜ MqConfig 不会被加载 ➜ 不会报错。
//引入了 spring-rabbit ➜ RabbitTemplate 存在 ➜ MqConfig 生效 ➜ 正常配置消息转换器。
@Configuration//消息转化器
public class MqConfig {

    //配置发送端的消息转化器
    @Bean
    public MessageConverter messageConverter(){
        return new Jackson2JsonMessageConverter();
    }
}

